IntelliJ IDEA 리팩토링 - 냄새 9. 기능 편애 해당 포스팅은 인프런 백기선님의 ' '을 학습 후 정리한 내용입니다. Feature Envy 어떤 모듈에 있는 함수가 다른 모듈에 있는 데이터나 함수를 더 많이 참조하는 경우에 발생한다. 예) 다른 객체의 getter를 여러개 사용하는 메소드 관련 리팩토링 기술 “함수 옮기기 (Move Function)”를 사용해서 함수를 적절한 위치로 옮긴다. 함수 일부분만 다른 곳의 데이터와 함수를 많이... 리팩토링JavaIntelliJ IDEAIntelliJ IDEA 리팩토링 - 냄새 11. 기본형 집착 “기본형을 객체로 바꾸기 (Replace Primitive with Object)” “타입 코드를 서브클래스로 바꾸기 (Replace Type Code with Subclasses)” “조건부 로직을 다형성으로 바꾸기 (Replace Conditional with Polymorphism)” 기본형을 사용한 데이터를 감싸 줄 클래스를 만들면, 필요한 기능을 추가할 수 있다. OrderProce... 리팩토링JavaIntelliJ IDEAIntelliJ IDEA 리팩토링 - 냄새 5. 전역 데이터 해당 포스팅은 인프런 백기선님의 ' '을 학습 후 정리한 내용입니다. Global Data 전역 데이터 (예, 자바의 public static 변수) 전역 데이터는 아무곳에서나 변경될 수 있다는 문제가 있다. 어떤 코드로 인해 값이 바뀐 것인지 파악하기 어렵다. 클래스 변수 (필드)도 비슷한 문제를 겪을 수 있다. “변수 캡슐화하기 (Encapsulate Variable)”를 적용해서 접근을... Java리팩토링IntelliJ IDEAIntelliJ IDEA 리팩토링 - 냄새 6. 가변 데이터 “변수 캡슐화하기 (Encapsulate Variable)”를 적용해 데이터를 변경할 수 있는 메소드를 제한하고 관리할 수 있다. “변수 쪼개기 (Split Variable)”을 사용해 여러 데이터를 저장하는 변수를 나눌 수 있다. “코드 정리하기 (Slide Statements)”를 사용해 데이터를 변경하는 코드를 분리하고 피할 수 있다. “함수 추출하기 (Extract Function)”... IntelliJ IDEA리팩토링JavaIntelliJ IDEA 리팩토링 - 냄새 4. 긴 매개변수 목록 하나의 레코드로 뭉칠 수 있는 매개변수 목록은 없는가? 어떤 매개변수를 다른 매개변수를 통해 알아낼 수 있다면, “매개변수를 질의 함수로 바꾸기 (Replace Parameter with Query)”를 사용할 수 있다. 기존 자료구조에서 세부적인 데이터를 가져와서 여러 매개변수로 넘기는 대신, “객체 통째로 넘기기 (Preserve Whole Object)”를 사용할 수 있다. 일부 매개변... Java리팩토링IntelliJ IDEAIntelliJ IDEA 설치 & Kotlin에서 Hello World 출력 통합 개발 환경의 IntelliJ IDEA/AdoptOpenJDK 설치/환경 구축 IntelliJ IDEA에 Kottlin을 통해 "Hello World"프로그램 파일을 출력하고 실행 Kotolin에서 응용 프로그램을 개발하는 환경의 구축 JDK AdoptOpenJDK 사용 IntelliJ IDEA 설치 AdoptOpenJDK 설치 IntelliJ IDEA 설정 프로그램의 제작/실행 다운로드... Kotlin초학자환경 구조IntelliJ IDEAJDKtech
리팩토링 - 냄새 9. 기능 편애 해당 포스팅은 인프런 백기선님의 ' '을 학습 후 정리한 내용입니다. Feature Envy 어떤 모듈에 있는 함수가 다른 모듈에 있는 데이터나 함수를 더 많이 참조하는 경우에 발생한다. 예) 다른 객체의 getter를 여러개 사용하는 메소드 관련 리팩토링 기술 “함수 옮기기 (Move Function)”를 사용해서 함수를 적절한 위치로 옮긴다. 함수 일부분만 다른 곳의 데이터와 함수를 많이... 리팩토링JavaIntelliJ IDEAIntelliJ IDEA 리팩토링 - 냄새 11. 기본형 집착 “기본형을 객체로 바꾸기 (Replace Primitive with Object)” “타입 코드를 서브클래스로 바꾸기 (Replace Type Code with Subclasses)” “조건부 로직을 다형성으로 바꾸기 (Replace Conditional with Polymorphism)” 기본형을 사용한 데이터를 감싸 줄 클래스를 만들면, 필요한 기능을 추가할 수 있다. OrderProce... 리팩토링JavaIntelliJ IDEAIntelliJ IDEA 리팩토링 - 냄새 5. 전역 데이터 해당 포스팅은 인프런 백기선님의 ' '을 학습 후 정리한 내용입니다. Global Data 전역 데이터 (예, 자바의 public static 변수) 전역 데이터는 아무곳에서나 변경될 수 있다는 문제가 있다. 어떤 코드로 인해 값이 바뀐 것인지 파악하기 어렵다. 클래스 변수 (필드)도 비슷한 문제를 겪을 수 있다. “변수 캡슐화하기 (Encapsulate Variable)”를 적용해서 접근을... Java리팩토링IntelliJ IDEAIntelliJ IDEA 리팩토링 - 냄새 6. 가변 데이터 “변수 캡슐화하기 (Encapsulate Variable)”를 적용해 데이터를 변경할 수 있는 메소드를 제한하고 관리할 수 있다. “변수 쪼개기 (Split Variable)”을 사용해 여러 데이터를 저장하는 변수를 나눌 수 있다. “코드 정리하기 (Slide Statements)”를 사용해 데이터를 변경하는 코드를 분리하고 피할 수 있다. “함수 추출하기 (Extract Function)”... IntelliJ IDEA리팩토링JavaIntelliJ IDEA 리팩토링 - 냄새 4. 긴 매개변수 목록 하나의 레코드로 뭉칠 수 있는 매개변수 목록은 없는가? 어떤 매개변수를 다른 매개변수를 통해 알아낼 수 있다면, “매개변수를 질의 함수로 바꾸기 (Replace Parameter with Query)”를 사용할 수 있다. 기존 자료구조에서 세부적인 데이터를 가져와서 여러 매개변수로 넘기는 대신, “객체 통째로 넘기기 (Preserve Whole Object)”를 사용할 수 있다. 일부 매개변... Java리팩토링IntelliJ IDEAIntelliJ IDEA 설치 & Kotlin에서 Hello World 출력 통합 개발 환경의 IntelliJ IDEA/AdoptOpenJDK 설치/환경 구축 IntelliJ IDEA에 Kottlin을 통해 "Hello World"프로그램 파일을 출력하고 실행 Kotolin에서 응용 프로그램을 개발하는 환경의 구축 JDK AdoptOpenJDK 사용 IntelliJ IDEA 설치 AdoptOpenJDK 설치 IntelliJ IDEA 설정 프로그램의 제작/실행 다운로드... Kotlin초학자환경 구조IntelliJ IDEAJDKtech